如何使用 AppCmd 配置 WebDAV 设置

您所在的位置:网站首页 Iis webdav onenote 如何使用 AppCmd 配置 WebDAV 设置

如何使用 AppCmd 配置 WebDAV 设置

2024-01-09 01:29| 来源: 网络整理| 查看: 265

如何使用 AppCmd 配置 WebDAV 设置 项目 07/19/2023

作者 :Robert McMurray

简介

Microsoft 发布了一个新的 WebDAV 扩展模块,该模块已针对 Windows Server® 2008 上的 Internet Information Services 7.0 (IIS 7.0) 完全重写。 这个新的 WebDAV 扩展模块结合了许多新功能,使 Web 作者能够比以前更好地发布内容,并为 Web 管理员提供更多的安全性和配置选项。 Microsoft 已发布适用于 Windows Server® 2008 的 WebDAV 扩展模块的更新,该模块提供共享和独占锁支持,以防止由于覆盖而丢失更新。

本文档将指导你使用 IIS 7.0 中的新AppCmd.exe实用工具通过命令行或批处理脚本配置 WebDAV 设置。

先决条件

完成本文中的过程需要以下各项:

必须在服务器上安装 IIS 7.0,并且必须配置以下内容:

IIS 7.0 安装创建的默认网站必须仍然存在。

必须安装新的 WebDAV 扩展模块。 有关安装新 WebDAV 模块的信息,请参阅以下文档:

在 IIS 7.0 上安装和配置 WebDAV

注意

你需要确保按照本文档中的步骤使用完全管理权限。 为此,最好采用以下两种方法之一:

使用本地“管理员”帐户登录到计算机。 如果使用的管理权限不是本地“管理员”帐户的帐户登录,请使用“以管理员身份运行”选项打开 IIS 管理器和所有命令提示符会话。

上述条件是必需的,因为 Windows Server 2008 中的用户帐户控制 (UAC) 安全组件将阻止对 IIS 7.0 配置设置的管理访问。 有关 UAC 的详细信息,请参阅以下文档:

https://go.microsoft.com/fwlink/?LinkId=113664

注意

默认情况下,请求筛选设置可能会阻止 WebDAV 创作中的多种文件类型。 使用 IIS 管理器 UI 配置 WebDAV 时,请求筛选设置将自动更新,以取消阻止 WebDAV 创作。 但是,如果选择使用 IIS 管理器 UI 以外的任何方式配置 WebDAV,请参阅 如何使用请求筛选配置 WebDAV 演练。

基本 AppCmd 概念

AppCmd.exe是用于管理 IIS 7.0 的新命令行工具。 在很多方面,将其视为旧版 IIS adsutil.vbs 脚本的替代。 AppCmd.exe支持各种对象的各种命令开关,因此可以轻松地在批处理文件中编写脚本来配置大量 IIS 设置。 (注意:AppCmd.exe实用工具位于 %WinDir%\System32\InetSrv folder.)

AppCmd.exe的一般语法为:

AppCmd (command) (object-type)

AppCmd.exe还提供广泛的命令行帮助支持,可以使用以下方法之一进行访问:

AppCmd /? AppCmd (object) /? AppCmd (command) (object) /?

命令列表取决于 对象,支持以下对象:

对象 说明 网站 管理虚拟站点 APP 应用程序管理 VDIR 管理虚拟目录 APPPOOL 管理应用程序池 CONFIG 常规配置节的管理 WP 管理工作进程 请求 HTTP 请求的管理 MODULE 管理服务器模块 BACKUP 管理服务器配置备份 TRACE 处理失败的请求跟踪日志

例如,可以使用具有以下语法的 SITE 对象列出服务器上配置的网站:

AppCmd list site

同样,可以使用以下语法的 APPPOOL 对象列出服务器上配置的应用程序池:

AppCmd list apppool

AppCmd 还可用于使用 SITE 对象设置各种配置设置的值,可以使用以下命令使用以下语法列出默认网站的可用设置:

AppCmd set site "Default Web Site" /?

若要列出特定路径的配置设置,请使用 CONFIG 对象,如以下示例所示:

AppCmd list config "Default Web Site/" /section:system.webServer/security/authentication/windowsAuthentication

CONFIG 对象还可用于设置配置设置,如以下示例所示:

AppCmd set config "Default Web Site/" /section:system.webServer/security/authentication/windowsAuthentication /enabled:true

还可以使用“/commit:”命令行参数控制 AppCmd 将写入指定的设置的位置。 例如,本文档稍后将介绍在默认网站上启用 WebDAV 的以下命令:

AppCmd set config "Default Web Site/" /section:system.webServer/webdav/authoring /enabled:true /commit:apphost

注意

此命令为默认网站启用 WebDAV,并将该设置写入 ApplicationHost.config 文件。

AppCmd 是一个极其强大的实用工具,从现实来看,在如此短的空间中涉及太多内容,因此,有关熟悉AppCmd.exe的详细信息,请参阅 IIS.NET 网站上的以下文章:

使用AppCmd.exe入门

也就是说,我们继续在服务器上配置 WebDAV。

使用 WebDAV 入门

WebDAV 为 IIS 设置的默认架构安装扩展,这使得 AppCmd 无需任何特殊修改即可使用 WebDAV。 新的 WebDAV 模块将其所有可配置设置存储在 ApplicationHost.config 文件中,并使用以下部分:

system.webServer/webdav/authoring system.webServer/webdav/authoringRules

“创作”设置只能在网站的根目录中配置,而“authoringRules”设置可以按 URL 配置。 若要查看已为给定路径的每个部分配置了哪些设置,可以使用 AppCmd,如以下示例所示:

AppCmd list config "Default Web Site/" /section:system.webServer/webdav/authoring AppCmd list config "Default Web Site/" /section:system.webServer/webdav/authoringRules

为网站启用或禁用 WebDAV

可以理解的是,WebDAV 的最基本和最有用的命令是为站点启用或禁用 WebDAV。 网站启用 WebDAV 的语法遵循以下示例:

AppCmd set config "Default Web Site/" /section:system.webServer/webdav/authoring /enabled:true /commit:apphost

在此示例中,我们将默认网站上的 WebDAV“authoring”部分的“enabled”属性设置为“true”,并强制将更改写入ApplicationHost.config文件。 相反,可以通过将相同的值设置为“false”来禁用 WebDAV,如以下示例所示:

AppCmd set config "Default Web Site/" /section:system.webServer/webdav/authoring /enabled:false /commit:apphost

要求对网站进行 WebDAV 创作的 SSL

为了保护可能要传输的信息,可以将 WebDAV 配置为要求所有操作使用 SSL。 这是通过使用如下语法将 WebDAV“authoring”部分的“requireSsl”属性设置为“true”来实现的:

AppCmd set config "Default Web Site/" /section:system.webServer/webdav/authoring /requireSsl:true /commit:apphost

可以使用如下语法将“requireSsl”属性设置为“false”来禁用此功能:

AppCmd set config "Default Web Site/" /section:system.webServer/webdav/authoring /requireSsl:false /commit:apphost

允许访问网站的隐藏文件

出于安全原因,可以禁止在文件列表中返回服务器上标记为隐藏的文件。 为此,请使用如下语法在“authoring”节中的“fileSystem”元素上将“allowHiddenFiles”属性设置为“true” :

AppCmd set config "Default Web Site/" /section:system.webServer/webdav/authoring /fileSystem.allowHiddenFiles:true /commit:apphost

若要禁用列出隐藏文件,请使用如下语法将“allowHiddenFiles”属性设置为“false” :

AppCmd set config "Default Web Site/" /section:system.webServer/webdav/authoring /fileSystem.allowHiddenFiles:false /commit:apphost

为网站配置 WebDAV 兼容性设置

为了与以前版本的适用于 IIS 的 WebDAV 兼容,一些可选功能通过兼容性设置公开。 目前选项列表如下所示:

兼容性设置 说明 无 指定不应支持任何兼容性功能。 MsAuthorVia 指定应返回“MS-Author-Via”标头。 (注意:Microsoft 的多个 Web 创作工具使用此标头。) MultiProp 指定应在客户端请求中允许多个 语句。 CompactXml 定义 WebDAV 模块返回的 XML 是否使用 CRLF 序列终止每一行。 IsHidden 指定应支持 IsHidden 伪实时属性。 IsCollection 指定应支持 IsCollection 伪实时属性。

若要设置这些功能中的任何一个,需要使用如下语法在“authoring”节上设置“compatFlags”属性值:

AppCmd set config "Default Web Site/" /section:system.webServer/webdav/authoring /compatFlags:"MsAuthorVia,CompactXml" /commit:apphost

请注意,兼容性设置指定为一组逗号分隔标志。

使用 WebDAV 创作规则

新的 WebDAV 模块利用创作规则,使你能够配置 WebDAV 响应来自客户端的创作请求的方式。 例如,网站可能为 Internet 用户启用了匿名访问,但 Web 创作访问权限应限制为一组特定用户。 使用创作规则,您可以配置哪些用户有权访问网站内容的各个部分。

配置创作规则默认值 指定是否允许非 MIME 映射文件

出于安全原因,IIS 不允许默认访问 MIME 映射中未列出的文件。 考虑到这一点,Web 作者可能需要在 MIME 映射中未列出的服务器上处理某些文件类型。 (例如:包括文件、数据文件等) 若要启用对非 MIME 映射文件的访问,需要在“authoringRules”部分中将“allowNonMimeMapFiles”属性设置为“true”。 以下语法示例演示了如何完成此操作:

AppCmd set config "Default Web Site/" /section:system.webServer/webdav/authoringRules /allowNonMimeMapFiles:true /commit:apphost

可以使用如下语法将“allowNonMimeMapFiles”属性设置为“false”来禁用此功能:

AppCmd set config "Default Web Site/" /section:system.webServer/webdav/authoringRules /allowNonMimeMapFiles:false /commit:apphost 指定默认 MIME 类型

使用不在 MIME 列表中的文件类型时,IIS 仍需要将 MIME 类型返回给客户端。 默认情况下,此值设置为“application/octet-stream”,这意味着无论内容类型如何,都应将该文件视为原始二进制文件。 若要将非 MIME 映射文件的默认 MIME 类型设置为文本文件类型,可以使用以下语法:

AppCmd set config "Default Web Site/" /section:system.webServer/webdav/authoringRules /defaultMimeType:"text/plain" /commit:apphost

若要重置默认 MIME 类型,请使用以下语法:

AppCmd set config "Default Web Site/" /section:system.webServer/webdav/authoringRules /defaultMimeType:"application/octet-stream" /commit:apphost

管理创作规则

创作规则保留在集合中,每个规则可以包含以下属性:

Attribute 描述 path 指定规则的内容类型。 (请参阅下文) users 指定规则的用户名。 (请参阅下文) 角色 指定规则的组/角色。 access 指定规则的访问类型。 (请参阅下文)

注释:

“path”属性用于指定创作规则的内容类型。 这可以是特定内容类型(如“*.aspx”、“*.htm”等),也可以使用“*”来指示创作规则适用于所有内容。

“roles”和“users”属性应声明为彼此独占。 也就是说,创作规则应适用于“用户”或“角色”,但不能同时针对两者。

定义了“users”属性的以下特殊值:

值 说明 * 所有用户 ? 匿名用户

注意

匿名用户无法读取/写入内容;此设置用于限制匿名属性查询的文件类型。

为访问类型定义了以下值:

值 说明 无 指定不允许对内容类型进行访问 读取 指定内容类型的读取访问权限 写入 指定内容类型的写入访问权限 Source 指定对内容类型的源代码的访问权限 添加创作规则

若要为路径添加创作规则,可以使用类似于以下示例的语法:

AppCmd set config "Default Web Site/" /section:system.webServer/webdav/authoringRules /+[users='administrator',path='*',access='Read,Write,Source'] /commit:apphost AppCmd set config "Default Web Site/mypath" /section:system.webServer/webdav/authoringRules /+[roles='Authors',path='*.aspx',access='Read,Write,Source'] /commit:apphost 编辑创作规则

添加创作规则后,可以使用如下语法编辑该规则:

AppCmd set config "Default Web Site/" /section:system.webServer/webdav/authoringRules /[users='administrator',path='*'].access:"None" /commit:apphost 删除创作规则

只需使用如下语法指定用户或角色名称,即可删除创作规则:

AppCmd set config "Default Web Site/" /section:system.webServer/webdav/authoringRules /-[users='administrator'] /commit:apphost

注意

如果该用户存在多个创作规则,则上述命令将仅删除列表中的第一个创作规则,并且需要重复该命令以删除该用户的后续规则。

或者,可以指定用户或角色名称和内容类型,如以下示例所示:

AppCmd set config "Default Web Site/" /section:system.webServer/webdav/authoringRules /-[users='administrator',path='*'] /commit:apphost

摘要

本文档介绍了如何执行以下操作:

使用 AppCmd 执行基本的 WebDAV 任务:

为网站启用或禁用 WebDAV 网站 WebDAV 创作需要 SSL 允许访问网站的隐藏文件 为网站配置 WebDAV 兼容性设置

使用 WebDAV 创作规则:

配置创作规则默认值 管理创作规则 更多信息

有关使用 WebDAV 的其他信息,请参阅以下文章:

在 IIS 7.0 上安装和配置 WebDAV 如何通过 WebDAV 使用自定义属性

注意

如前所述,默认请求筛选设置可能会阻止 WebDAV 创作中的多种文件类型。 如果不修改请求筛选设置,在尝试发布被阻止的文件时,可能会看到各种错误。 例如,如果尝试上传或下载web.config文件,WebDAV 客户端中会出现错误。 有关配置请求筛选设置的详细信息,请参阅 如何使用请求筛选配置 WebDAV 演练。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3